package com.zhz.mall.portal.modules.oms.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.zhz.mall.portal.dto.AddCarDTO;
import com.zhz.mall.portal.dto.CartItemStockDTO;
import com.zhz.mall.portal.dto.CartUpdateQuantityDTO;
import com.zhz.mall.portal.modules.oms.model.OmsCartItem;

import java.util.List;

/**
 * <p>
 * 购物车表 服务类
 * </p>
 *
 * @author zhouhengzhe
 * @since 2023-02-04
 */
public interface OmsCartItemService extends IService<OmsCartItem> {

    /**
     * 添加购物车
     *
     * @param addCarDTO 需要添加的商品
     * @return
     */
    Boolean add(AddCarDTO addCarDTO);

    /**
     * 获取购物车商品数量
     *
     * @return
     */
    Integer getCartProductSum();

    /**
     * 获取购物数据初始化
     *
     * @return
     */
    List<CartItemStockDTO> getCartList();


    /**
     * 更新商品数量
     *
     * @return
     */
    Boolean updateQuantity(CartUpdateQuantityDTO cartUpdateQuantityDTO);

    /**
     * 删除购物车项
     *
     * @param ids
     * @return
     */
    Boolean delete(Long ids);
}
